@RestController和@RequestMapping
Example类上使用的第一个注解是@RestController
,这被称为构造型(stereotype)注解。它为阅读代码的人提供暗示(这是一个支持REST的控制器),对于Spring,该类扮演了一个特殊角色。在本示例中,我们的类是一个web @Controller
,所以当web请求进来时,Spring会考虑是否使用它来处理。
@RequestMapping
注解提供路由信息,它告诉Spring任何来自”/“路径的HTTP请求都应该被映射到home
方法。@RestController
注解告诉Spring以字符串的形式渲染结果,并直接返回给调用者。
注:@RestController
和@RequestMapping
是Spring MVC中的注解(它们不是Spring Boot的特定部分),具体参考Spring文档的MVC章节。
@EnableAutoConfiguration
第二个类级别的注解是@EnableAutoConfiguration
,这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web
添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用,并对Spring进行相应地设置。Starters和Auto-Configuration:Auto-configuration设计成可以跟”Starters”一起很好的使用,但这两个概念没有直接的联系。你可以自由地挑选starters以外的jar依赖,Spring Boot仍会尽最大努力去自动配置你的应用。
创建可执行的jar
我们需要将spring-boot-maven-plugin
添加到pom.xml
中,在dependencies节点后面插入以下内容:
1 | <build> |
如果查看target目录,你应该可以看到myproject-0.0.1-SNAPSHOT.jar
,该文件大概有10Mb。想查看内部结构,可以运行jar tvf
:
1 | $ jar tvf target/myproject-0.0.1-SNAPSHOT.jar |
//todo 上面这个方法在我的项目上没有成功,还不知道为什么,待解决。